home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 January / enter-2004-01.iso / files / maxima-5.9.0.exe / {app} / lib / gcc-lib / mingw32 / 3.2 / include / float.h next >
Encoding:
C/C++ Source or Header  |  2003-02-09  |  4.4 KB  |  125 lines

  1. /* float.h for target with IEEE 32/64 bit and Intel 386 style 80 bit
  2.    floating point formats */
  3. #ifndef _FLOAT_H_
  4. #define _FLOAT_H_
  5. /* Produced by enquire version 4.3, CWI, Amsterdam */
  6.  
  7.    /* Radix of exponent representation */
  8. #undef FLT_RADIX
  9. #define FLT_RADIX 2
  10.    /* Number of base-FLT_RADIX digits in the significand of a float */
  11. #undef FLT_MANT_DIG
  12. #define FLT_MANT_DIG 24
  13.    /* Number of decimal digits of precision in a float */
  14. #undef FLT_DIG
  15. #define FLT_DIG 6
  16.    /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
  17. #undef FLT_ROUNDS
  18. #define FLT_ROUNDS 1
  19.    /* Difference between 1.0 and the minimum float greater than 1.0 */
  20. #undef FLT_EPSILON
  21. #define FLT_EPSILON 1.19209290e-07F
  22.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
  23. #undef FLT_MIN_EXP
  24. #define FLT_MIN_EXP (-125)
  25.    /* Minimum normalised float */
  26. #undef FLT_MIN
  27. #define FLT_MIN 1.17549435e-38F
  28.    /* Minimum int x such that 10**x is a normalised float */
  29. #undef FLT_MIN_10_EXP
  30. #define FLT_MIN_10_EXP (-37)
  31.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
  32. #undef FLT_MAX_EXP
  33. #define FLT_MAX_EXP 128
  34.    /* Maximum float */
  35. #undef FLT_MAX
  36. #define FLT_MAX 3.40282347e+38F
  37.    /* Maximum int x such that 10**x is a representable float */
  38. #undef FLT_MAX_10_EXP
  39. #define FLT_MAX_10_EXP 38
  40.  
  41.    /* Number of base-FLT_RADIX digits in the significand of a double */
  42. #undef DBL_MANT_DIG
  43. #define DBL_MANT_DIG 53
  44.    /* Number of decimal digits of precision in a double */
  45. #undef DBL_DIG
  46. #define DBL_DIG 15
  47.    /* Difference between 1.0 and the minimum double greater than 1.0 */
  48. #undef DBL_EPSILON
  49. #define DBL_EPSILON 2.2204460492503131e-16
  50.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
  51. #undef DBL_MIN_EXP
  52. #define DBL_MIN_EXP (-1021)
  53.    /* Minimum normalised double */
  54. #undef DBL_MIN
  55. #define DBL_MIN 2.2250738585072014e-308
  56.    /* Minimum int x such that 10**x is a normalised double */
  57. #undef DBL_MIN_10_EXP
  58. #define DBL_MIN_10_EXP (-307)
  59.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
  60. #undef DBL_MAX_EXP
  61. #define DBL_MAX_EXP 1024
  62.    /* Maximum double */
  63. #undef DBL_MAX
  64. #define DBL_MAX 1.7976931348623157e+308
  65.    /* Maximum int x such that 10**x is a representable double */
  66. #undef DBL_MAX_10_EXP
  67. #define DBL_MAX_10_EXP 308
  68.  
  69.    /* Number of base-FLT_RADIX digits in the significand of a long double */
  70. #undef LDBL_MANT_DIG
  71. #define LDBL_MANT_DIG 64
  72.    /* Number of decimal digits of precision in a long double */
  73. #undef LDBL_DIG
  74. #define LDBL_DIG 18
  75.    /* Difference between 1.0 and the minimum long double greater than 1.0 */
  76. #undef LDBL_EPSILON
  77. #define LDBL_EPSILON 1.08420217248550443401e-19L
  78.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
  79. #undef LDBL_MIN_EXP
  80. #define LDBL_MIN_EXP (-16381)
  81.    /* Minimum normalised long double */
  82. #undef LDBL_MIN
  83. #define LDBL_MIN 3.36210314311209350626e-4932L
  84.    /* Minimum int x such that 10**x is a normalised long double */
  85. #undef LDBL_MIN_10_EXP
  86. #define LDBL_MIN_10_EXP (-4931)
  87.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
  88. #undef LDBL_MAX_EXP
  89. #define LDBL_MAX_EXP 16384
  90.    /* Maximum long double */
  91. #undef LDBL_MAX
  92. #define LDBL_MAX 1.18973149535723176502e+4932L
  93.    /* Maximum int x such that 10**x is a representable long double */
  94. #undef LDBL_MAX_10_EXP
  95. #define LDBL_MAX_10_EXP 4932
  96.  
  97. #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  98.    /* The floating-point expression evaluation method.
  99.         -1  indeterminate
  100.          0  evaluate all operations and constants just to the range and
  101.             precision of the type
  102.          1  evaluate operations and constants of type float and double
  103.             to the range and precision of the double type, evaluate
  104.             long double operations and constants to the range and
  105.             precision of the long double type
  106.          2  evaluate all operations and constants to the range and
  107.             precision of the long double type
  108.    */
  109. # undef FLT_EVAL_METHOD
  110. # define FLT_EVAL_METHOD    2
  111.  
  112.    /* Number of decimal digits to enable rounding to the given number of
  113.       decimal digits without loss of precision.
  114.          if FLT_RADIX == 10^n:  #mantissa * log10 (FLT_RADIX)
  115.          else                :  ceil (1 + #mantissa * log10 (FLT_RADIX))
  116.       where #mantissa is the number of bits in the mantissa of the widest
  117.       supported floating-point type.
  118.    */
  119. # undef DECIMAL_DIG
  120. # define DECIMAL_DIG    21
  121.  
  122. #endif    /* C99 */
  123.  
  124. #endif /*  _FLOAT_H___ */
  125.